package br.com.pucrs.tcc.enumerator;

import java.util.Arrays;
import java.util.List;

public enum TipoNotaEnum {
	PROPOSTA_ORIENTADOR(1, "Proposta Orientador"),
	PROPOSTA_AVALIADOR(2, "Proposta Avaliador 1"),
	TCC1_ORIENTADOR(3, "Rel. Final TC1 Orientador"),
	TCC1_AVALIADOR(4, "Rel. Final TC1 Avaliador 1"),
	TCC2_ORIENTADOR(5, "Rel. Final TC2 Orientador"),
	TCC2_AVALIADOR_1(6, "Rel. Final TC2 Avaliador 1"),
	TCC2_AVALIADOR_2(7, "Rel. Final TC2 Avaliador 2");

	private final Integer codigo;

	private final String descricao;

	TipoNotaEnum(Integer codigo, String descricao) {
		this.codigo = codigo;
		this.descricao = descricao;
	}

	public Integer getCodigo() {
		return codigo;
	}

	public String getDescricao() {
		return descricao;
	}

	public static List<TipoNotaEnum> getAll() {
		return Arrays.asList(TipoNotaEnum.values());
	}

	public static TipoNotaEnum getByDescricao(String descricao) {
		if (descricao != null && descricao.length() != 0) {
			for (TipoNotaEnum obj : getAll()) {
				if (obj.descricao.equals(descricao)) {
					return obj;
				}
			}
		}
		return null;
	}

	public static TipoNotaEnum getByCodigo(Integer codigo) {
		if (codigo != null) {
			for (TipoNotaEnum obj : getAll()) {
				if (obj.codigo.equals(codigo)) {
					return obj;
				}
			}
		}
		return null;
	}
}
